package com.cweb.framework.generator.tableInfo.entity;

import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * 数据库表
 */
@Data
@EqualsAndHashCode
@Accessors(chain = true)
public class TableInfo extends Model<TableInfo> {
    private static final long serialVersionUID = 1L;

    /**
     * 表名称
     */
    private String tableName;
    /**
     * 表名称
     */
    private String tableNameShort;

    /**
     * 表描述
     */
    private String tableComment;

    /**
     * 表的主键列信息
     */
    private ColumnInfo primaryKey;

    /**
     * 表的列名(不包含主键)
     */
    private List<ColumnInfo> columns;

    /**
     * 类名
     */
    private String className;
    /**
     * 类名（首字母大写）
     */
    private String classNameUpper;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    public ColumnInfo getColumnsLast() {
        ColumnInfo columnInfo = null;
        if (null != columns && columns.size() > 0) {
            columnInfo = columns.get(0);
        }
        return columnInfo;
    }
}
